package com.xx.springboot.service;

import com.alibaba.fastjson.JSONObject;

import java.io.UnsupportedEncodingException;

/**
 * @author xiaoxi
 * @descripion 第三方登录接口
 */
public interface IAuthService {
    /**
     * <p>
     *     获取 token
     * </p>
     * @param code
     * @return
     */
    String getAccessToken(String code);

    /**
     * <p>
     *     获取 openId
     * </p>
     * @param accessToken
     * @return
     */
    String getOpenId(String accessToken);

    /**
     * <p>
     *     刷新 token
     * </p>
     * @param code
     * @return
     */
    String refreshToken(String code);

    /**
     * <p>
     *     获取认证 url
     * </p>
     * @return
     * @throws UnsupportedEncodingException
     */
    String getAuthorizationUrl() throws UnsupportedEncodingException;

    /**
     * <p>
     *     获取用户信息
     * </p>
     * @param accessToken
     * @param openId
     * @return
     */
    JSONObject getUserInfo(String accessToken, String openId);
}
